#ifndef _myFlowSensor_H_
#define _myFlowSensor_H_

#include <Arduino.h>
#include <Wire.h>

#define FS2012_ADDRESS 0x07 // 流量传感器，FS2012传感器的I2C地址

// 读取流量数据，单位毫升
uint16_t GetFlowSensor()
{
  uint16_t rawValue = 0;
  if (Wire.requestFrom(FS2012_ADDRESS, 2) == 2) // 请求从FS2012传感器读取2个字节的数据
  {
    byte msb = Wire.read();      // 读取第一个返回字节（MSB）
    byte lsb = Wire.read();      // 读取第二个返回字节（LSB）
    rawValue = (msb << 8) + lsb; // 将返回的字节组合成一个16位无符号整数
  }
  // 根据传感器配置计算流量
  // float flow;
  // flow = rawValue / 1000.0;  // 气体部分的流量，单位是SLPM(Standard Liters Per Minute)(每分钟标准升),
  // return flow;
  return rawValue;
}

// 获取流量传感器数据
void ShowFlowSensorValue()
{
  Serial.println("Flow start...");
  Serial.print("Flow: ");
  Serial.print(GetFlowSensor());
  Serial.println("ml");
  Serial.println("Flow end...");
}

#endif